Cloud computing platforms allow users to execute computing tasks, sometimes called “jobs,” without owning the computing resources used to execute the computing tasks. A cloud computing platform includes a pool of computing resources, including hardware such as processors and storage devices. This pool of resources can be partitioned such that some of the resources can be allocated to execute one or more jobs for a user in exchange for payment by the user. As a result, the cloud computing platform can be used to execute many different jobs on behalf of multiple users.
A cloud computing platform allocates resources to execute one or more computing tasks on behalf of a user based on how the user pays for the platform's resources. Cloud platform operators offer different pricing options to meet diverse user computing requirements, such as reserved pricing, on-demand pricing, and spot pricing. In the reserved pricing option, a user makes a commitment to purchase platform resources over an extended period of time (e.g., multiple months, a year, multiple years, etc.) and receives discounted pricing on usage during that period. For example, the user may receive discounted hourly pricing on usage. In the on-demand pricing option, a user pays for platform resources without making any such long-term commitment and, for example, pays for the platform's resources on an hourly basis. In the spot pricing option, a user bids on platform resources and the user's job executes when the user's bid exceeds the current spot price of the platform resources. Users may use any one of the above pricing options or any suitable combination thereof.
Paying for resources using the on-demand pricing option provides platform resources, when available, whenever they are required by the user, but the user pays a premium for this convenience. On the other hand, paying for resources using the spot pricing option may allow the user to purchase resources at lower prices as compared to the on-demand option, but does not guarantee the availability of platform resources to the user. Indeed, when the spot price of the resources exceeds the user's bid price, the execution of the user's job may be suspended until the spot price falls below the bid price. Accordingly, using the spot pricing option presents a risk that a job may not complete by a deadline, if such a deadline exists.